package com.grace.dao;

import com.grace.model.SysRole;
import com.grace.model.SysRoleUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SysRoleUserMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(SysRoleUser record);

    int insertSelective(SysRoleUser record);

    SysRoleUser selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(SysRoleUser record);

    int updateByPrimaryKey(SysRoleUser record);

    /**
     * 根据用户id查所拥有的角色id列表
     */
    List<Integer> getRoleIdListByUserId(int userId);

    /**
     * 根据角色id查所拥有的用户id列表
     */
    List<Integer> getUserIdListByRoleId(int roleId);

    /**
     * 根据roleId来删除旧的
     */
    void deleteByRoleId(int roleId);

    /**
     * 批量增加新的
     */
    void batchInsert(@Param("roleUserList") List<SysRoleUser> roleUserList);

    /**
     * 通过RoleIdList来获取用户Id的列表
     */
    List<Integer> getUserIdListByRoleIdList(@Param("roleIdList") List<Integer> roleIdList);
}